package com.baizhi.cmfz.dao;

import com.baizhi.cmfz.entity.Admin;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface AdminDao {

	/**
	 *
	 * @param name 管理员登陆的时候的账号
	 *
	 * @return 返回一个管理员的对象实例
	 */
	Admin selectAdminByNameAndPassword(String name);

	/**
	 *
	 * @param offset 分页显示的起始行数
	 * @param limit 显示的总行数
	 * @return 返回所有符合的数据
	 */
	List<Admin> selectAdminPage(@Param("offset") int offset, @Param("limit") int limit);

	/**
	 *
	 * @return 返回管理员的总数
	 */
	int selectCount();

	/**
	 *
	 * @param admin 将对象添加到数据库中
	 * @return 返回添加的信息
	 */
	int insertAdmin(Admin admin);


	/**
	 *
	 * @param admin 将要修改的数据
	 * @return 返回修改的行数
	 */
	int updateAdmin(Admin admin);


	/**
	 *
	 * @param id 要删除的信息的id值
	 * @return 返回受影响的行数
	 */
	int  deleteAdmin(int id);


	/**
	 *
	 * @param id 根据id查询一个admin的实例
	 * @return 返回符合条件的实例
	 */
	Admin selectById(int id);

	Set<String> selectAdminRole(String adminName);

	Set<String> selectAdminResource(String adminName);


}
